<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
    <script>
          // function say() {
          //     console.log(111)
          //     console.log(222)
          //     return false
          //     console.log(333)
          //  }
          //  say();
        // Generator函数是ES6提供的一种异步编程解决方案  能打破
        // 函数一次执行完毕，能中途停止函数
        // 1) function 和函数名中间加*
        // 2)函数体内使用 yield 表达式，定义不同的内部状态 （可以有多个yield）
        // 3) 直接调用 Generator函数并不会执行，也不会返回运行结果
          // 得到Generator操作对象 继续执行
          // 4) 调用next方法 让函数继续
        function * gen(){
            console.log(111)
            let x;
            yield  x=99;
            console.log(222)
            let y;
            yield y=2000
            console.log(333)
            return "凤凰传奇"
        }
        let g=gen();
        //  Generator函数的返回值是一个对象
        //对象的value 是yield后的值 done 当前Generator函数是否执行完毕
       let aa= g.next()
       console.log(aa)
       let bb= g.next()
       console.log(bb)
       let cc=g.next()
      console.log(cc)

      
      
    </script>
</body>
</html>